Make version extraction logic more generic