imperative mutations solution