move functions into its own folder and give it a set interface