done set up and inner classes for A*