add delete, finish 80%