refactor
some updates
update