1. Add test cases 2. Decompose