Update licence to GPLv3
Add docblocks