added exec and exit