inflate doesn't work, need some test. Part of A* implemented but not compleated