adds main loop