Feature/separate cli and extraction logic