fixes #1: initial extractor implementation