worked on model buffering2