extract functions