more refactoring. added info window ui