add some new close and restructure package