abstraction is done