Fixed errors + add 3 input types