implemented river generation