made .open() parameter parsing more foolproof