add delete and size operations