many fixes. everything works