coverage improvement
better abstraction
example