it's a long story i will explain it later