How semi abstraction is being used?