added corefunc