no longer using builder pattern