Moved internal structs and prototypes to a different header to avoid conflicts with astar