a few improvements