improved function lists