adding a few improvements