plan out functions