Refactored solution for nuget