added more complex object and unit tests