factored out title