working on compiler, ctrl, val