Program1: user side