Simple to understand, hard to complete