Added subprograms generation