added buffering module