add operator<< for output
test operator<<
modify rule