fix broken things, re-write '-' handling