nicer smaller methods