Update, code comments and tidy up
Update