This is the real working verson.