Initial commit
Modifications
Refactoring to support several frameworks for nuget package