moved functions around, more files, more organization now