create the private methods that perform all the actions