input and initialization works