learned more methods and ways to refactor some code