broke out different input types