implem for extract