assignment0 code completed