server side and client side work to handle maps api