protected function -> public function (for B.C.)
adjust white space
private function -> protected function (for B.C.)
var,private -> protected