changed interfaces into actual interfaces, moved static functions out of classes, swapped datastructure used in AStar to priorityqueues