tested complex objects, nicely done