changed the whole thing, still need some fixes.