better handling of some cases