updating problems
refactor