it shoudnt't be done this way