un-DRY some methods because they actually should be separate