Initial draft. Incomplete
Second draft
Third draft
Deleted files because I'm lazy to fix conflicts
Deleted files because I'm lazy to fix conflicts