testing + abstracting crement math