added different input types