iostream is an expensive header, do not include it where it isn't needed