added generic primitive list