99% done the backbone of the project