Commented the class thoroughly to explain what each bit does; style conformity

Also updated the copyright header for my PR