set core is modified to be more universal