implemented some kinda janky polling