changed it to be more modular; it’s not working properly yet