first commit
done: still confuse. how stupid I am