adding the solving part WIP