got up to term but need to deal with pushing this pointers onto the arguments