use forever instead of recursive loop