broke apart large method