interface improved with documentation