refactoring yashare. done #21