Missing settings give better errors, fully ported particle to smarter internal state