added extract functions