added clean code