Added final layer of abstraction