more modification of API