restructed project, use containers class and other