improve interface slightly