I am so bad at web programming, part 3