new feature

please check my code and integrate it