initial function definations