refactor
more changes