fix invoke return type