implements 'Edit' functionality