Adds solution to #3 and some semantic stuff.