several fixes, tested on google maps