changed to .net 3.5, new construcctor, added lots of helper methods