main.js still needs work i think