carried on working on code restructure