added core framework functions