Major Re-factoring
Id logic clean up
Nuget build