can you write this as a normal if-else block?  I think this style, while valid, make the code harder to read