movement commented a little and hash specification written for encapsulation