If, however, you find this too basic, there's a second version of the project with twice as many lines of code. In this ...