separated command line interface and tests passing