improve abstraction