improve interface definition