add & improve docs