reasoning layer