class for logic operations, codeGen() left as TODO