trailing whitespace makes it freak but mostly okay