Refactored to match systems