added recursive deserialization of elements nested in container objects
added type check to equality operator