Providing abstractions to get the developer's purposes fulfilled
