complete map implemented