if you make a piston, make sure you enclose the thing moving up and down or left and right with 4 objects so it stays straight, i did too, 2 of em are just invisible lol
also, dont forget setting the friction of the blocks to 0
i know i made it the same thing but...
1. The block in the piston is moving (i mean out of control)
2. Balls are not flowing well(meaning by not falling smoothly like ures)
3. Friction is good but it sometimes get stuck