Added init function to allow overriding.