using | instead of ++