added docblocs and all