this feels like a hack