Mostly worked version