added ability to read a config file, rewrote compilation process. options syntax has been updated