computer software devices