- Not working with this commit, but starting to refactor all the code