More abstraction - changed some names