modified api signature