add new problems and refactor