first commit

lib and demo