second commit - most features working, save, load