Makarova battles past Venus Williams