put everything into main...