add with working delete function