add downstream test

this is re-writed version of #446, wait for merge