This version has most features working