checking pointing because i think i found a better way to abstract this