#1 generally cleaned up no-arg functions, jumps to prev. branch on error