Trying to make it more abstract.