Restructured a little more according to #4, for instance a deliver() function was made and more comments were put in place. Added some extended status messages for the client upon failed delivery, also tested and verified external and internal delivery (both un-authorized and authorized).