validation, delete, edit