broke it.
Code cleanup, reduced some methods, and added better host default handling.