update docs + pattern constructor + add license