reworked command line parsing