updated to clean code