fixed a bug that function 'open' is treated as a constructor of stream
constructor of uri takes a block
added header to each source file
added header comment to sources