Add position function and eliminate stream member