UPDATED TO BE MORE MODERN AND ADDED SETUP SCRIPTS