added combostates; wrote test; TODO: explicitly test JsValue contents