feat: allow directly passing init function
0.1.1