a bit guest refactor