First attempt, just getting it working, not going for fewest characters yet, 1060 characters