added return vals