improve interface.