from github repo

review #2
Fixed #3
from github repo

review #3
fixed #4