- context is now passed in at the end rather than being part of the builder