ostream friend template bullshit
damn ostream