restructuring & clean up