read_features rewritten