Step 1: unit tests