properly read ports