add generic support.