light restructuring and tons of comments