basically finishes hw02