tryingt to get everything in numpy but it's messy
messing it up with numpy
ok it's all working quite well now