did some stuff. This is harder than I thought...