attachment funcs now accept io.Reader instead of []byte