having a programmable lay-out