implemented alu_code as type