contributions accepted
todo: streaming support