finished up to the base setupFields function, added setupData function, added magic get/set methods for var data