add remove/replace method