add more specs to cover various cases