Re-design mostly done and working. Not fully tested, and mem-save option not done