add Stream class
add ability to select guards