More core implementation