Added some of the optional extra functionality prior to class