35 problems. Some need to refactoring