Fixed the missing motor power problem. Range is not the limit, but how many. 

range(3) does 0, 1, 2. Not 0, 1, 2, 3. You want range (4)