Separated logical pieces in preparation for pull requests