Initial commit
Comprehensive unit-tests included