Updated core functions