complete stage 3

final version of stage 3