reduced main solver to single subroutine call; removed pointers from main solver