add option for specifying input/output buffers
add test placeholder