the math needs documenting
start of work to figure out decomp math