finished extraction functionality for new structure, using TDD