initial setup of functions