Revised architecture + adding some map moving

In order to move the map correctly, will be better if two types of
coordinates are introduced: visible and real ones