refactor: make scanning classes lazy loaded