rewritten Tank api