Redoing the engine. Code is now broken.