im tired, this is final version