Port the ReadDir component