Add extract() function