covered some corner cases