add documentation
handle exec and fork errors