refactored: ready to extract builder function