new program_state and fixpointiterator with makeLinearSolver, FunctionalFactory, NonlinearSolver working as intended