final need clean code