not happy with this approach either tbh