more descriptive api