implement modify