moved argument parsing to own class