Separatedp implementation of input and logic