before modify interface