Updated init function