Almost done just not commented