For example the nested "if"s are a little obscure to read, one would expect if...else if...else instead if those. The rest of it might be just me being used to do things differently. Just saying, the code is readable enough to understand what's going on and that's what counts