many fixes. much functionality