Adding packet constructor, adding comments to make everything more readable
Merge origin/master