Final version: 1, 2 done