break large method up into smaller methods for readability