add more completion function