better JS organization