included all suggestions from JN