What is the purpose of the builder?