Tested and working
Includes map