Split functionality into multiple scripts