I changed this, because it originally sucked.