add source code for week 3