Hmm... that's great! Code could be simplified a lot.