cleaned up code, hiding/unhiding fully implemented