hiding another way to propagate code