programmability features