added serializing and caching of move and ability lists