gem requirement
improve the doc