cleaning up and restructuring