complete map functionality