Refactor system requirements check