classes factory refactor
factory changes, container addition