just threw together a super generic template
resolve merge conflict