too many hacks, kinda works with polling now
merge?