second iteration started, some restructuring done