specify features via command line, speed optimizations, refactoring