works ... but have a lot to do