basic functions ready
prepare modify for delete function
basic functions ready, prepare for adding delete function