principle of abstraction