added some files as well as started some base idea of the inheritance, DID NOT change any of the original files, but with this inheritance we can remove some variables and methods