much clean host and runtime constructor
simpler, more commiting host