interface slightly updated