Added program control and function support