added equality functions