nearly feature complete now - working on cosmetic changes