finished assignment0