refactored computer class