delete functionality in place