moved some code in some class, to de-bloat extract()