return values are passed succesfully
finished off allowing multiple tasks