Better cache and DRYer code