we can't make this template DRY?