Initial import
Add some properties and update related unit tests
update documentation