implementing new input model...