Programmable structures