more flexible api
1.0.0