all done and tested FOR NOW