added buffered/unbuffered command distinction