more work
many fixes