refactor
final updates