Cleanup, structure and some part 2