not an expert on powershell, but i certainly use it a bit.
i'd be thinking the issue is scope;
it looks to me like none of your functions accept parameters.(AcceptedFeatures,Process,ShowinOutGrid).
what specific variables do you expect the functions to use?
i think $action(in AcceptedFeatures) and $ACTION(in ShowinOutGrid) kind-of /sort-of looks like you want to be passed, but it's not returned, so are you assuming it exists in both the ShowinOutGrid and gets modified in AcceptedFeatures?
i don't think that will happen. to me, i think thye get initialized as blanks, and not passed back.
Lowell