seperate program list and function list