returns in fucntion implemented without touching grammar