I have already implemented most of the functionality I need in a single file with just 395 lines of code.