Reads from command line options and is more modular