introduce ->program + proper exit codes