make API more flexible