move shader interface to streams
move shader impl to streams