Changing constructors to use interface instead.