whitespace will be trimmed by default