again needs debuging(code fails removed)