merge with map-api branch