change abstraction signature