Smooth scrolling; tidy up, better comments.