improve according to comments