Abstract InputStream

Signed-off-by: nasadiscovery <cj.nasa@gmail.com>