very many fixes