finally everything came together with a compile option, lets make this master