Builder

Better builder (same thing as before, but code is more accessible)