Builder

Reimplemented Builder according to spec.