simplify
refactor
fix
test