Update core algorithm