lots of work to be done on this still