So I finally made it. Hope I didn't get too many things wrong :D