interface improvment