separating concerns back out