working commit
#8 (need answer from issue)
#10
#5