added input and updated design