reduce buffer size
add synchronized write ability (optional)