Added Input class, will refine it next iteration