two ways to input