Changes interface and adds astar algorithm
Implements Path finding and refactoring