added new class to maintain map that AI knows
made tests for the new class and fixed issues that were found
added javadocs to make code more easier to read