adding final changes, need to add delete and update