a few major improvements