added nuget package restore
added some extension methods