new solving mehtods