implemented monomorphic map