improve several things