+ added return cases