add main fun