mutable version; no solver yet