handles 4 input