Updated to Namespaces with PSR-2 compiance and composer