refractored but still debugging