More reliable; simplify