many small improvements