Committed after watching third video and refactoring a little after.