add function environments
add amd