begin to implement reduced solver