refactor code to follow DRY in zone model