option parser more compact
some more nice coding