further cleans up the host API

maybe temporary keep as is and unify later?