publish new programmatic interface