implemented binop for atom types