- updated according to comments