This all is really hard to read code, which needs some blank lines and comments. Don't be too canny with those.