WIP: argument parsing, replacement of many constants, fewer func dep