started working on port driven IO