some basic improvements