Added new functions and organized
A lot more stuff