fixed binop for basic types. added test