better command line parsing