semi-working camera, cleaning it up so it stays within bounds of the map