add main functions