final version of this hw app