more helper methods for control flow