#395 refactor general usage part