This might cause a breaking change by having to re-do the init function. Want to explore if I can have it both ways.