DRY-d things up... This is going very strangely