Specification Changed: use an external program