some refactoring, added VS project/sln, userlist