update of my work and part of Jin's