(WIP) Added initial solver. Tests are not passing