Complete assignment0