Added input and more Pure