refactor code & force share