stupid C sharp stuff