very detail and useful, thanks