Initial A* attempt... let the fun begin