refactored to use computer class directly