Refactored Host to make future improments possible