Moved primary initialize function into private scope, overloaded two new functions in public scope that call the private function.