spl: module programming support