primitives changed for bytecode