Reused constructor.