Updated with some nicer comments