minor bug on << operator corrected