initial update

functions coded