cleaned up - but more work to do