improve command argument reading