add some interface for special uses,usually it will be used