porting to windows and changing hierarchy