code with documentation