a little more forward. master mode still needs to be moved into state
machine