add edit, delete functions