split method added, also << and >> for stream input