abstraction of who when where do what