add some docs, cause who doesn't like docs