cleaned up argument handling a smidge