Worked on port IO