make map widget reuseable