keep api consistent