refactor of sungard to be dynamically generated