some discussion added