fixed a typo
removed defualt template parameter for function
fixed namespace
implemented solver factory