figuring out proper function crap