introduction project abstraction