takes trim_start and trim_end as args