cleaned up a bit, moved event functions to Interface.js