extract functions extended