update genx for better naming control
updated genx for input type convienient functions