Development to master merge.

Actually you can place this class inside the class of usage. It not a mistake and has to be good choice.