added UML for solver