Understanding the need for higher abstractions