final with documentation