modules, testing, redisigning into object based model