unviolate SRP and let the builder just build