map drawing code is a separate widget class now