tcp support, need better workaround