Remade Working version