feels jank, but if this works