updated main with documentation