updated core, untested