diff --git a/sauce/object.php b/sauce/object.php
index <HASH>..<HASH> 100644
--- a/sauce/object.php
+++ b/sauce/object.php
@@ -73,6 +73,10 @@ class Object extends CallableProperty implements \ArrayAccess, \Countable
 			$this->storage[0] = $data;
 			return;
 		}
+		
+		if (is_a($data, '\Sauce\Object')) {
+		    $data = $data->storage;
+		}
 
 		foreach ($data as $key => $value) {
 			if (is_numeric($key)) {
@@ -160,6 +164,11 @@ class Object extends CallableProperty implements \ArrayAccess, \Countable
 			}
 		}
 	}
+	
+	public function getArrayCopy ()
+	{
+		return $this->storage;
+	}
 }
 
 ?>
Added getArrayCopy method and fixed bug in \Sauce\Object

- Object#getArrayCopy returns a copy of the storage array used
  internally
- PHP's protected/private attributes only work on objects of other
  classes. That means if you use foreach on an object of the same
  type in a class, you as well get the key-value pairs for
  protected/private properties of given object. To circumvent this
  we now added getArrayCopy and use that to iterate over the
  given object in the constructor.