Restructuring, hopefully i didnt break anything~