functions
derek wolfe