Finished assignment0