!!!SHOULD NOT WORK!!!JUST REFACTOR