Skeleton from github
Basic implementation.