separated js for easier development.