started to implement explain, which includes more information about the returned recommendation