added more inheritance, cleaned up map editor