Code style wise I'd like the whole else branch to go in a separate method, not really a fan of nested ifs :)

Not necessary though!