This took a LONG while but I'm so proud