merge, fix untrimmed whitespace
fix sign func discarding other values
clean up
merge?