Reworked this method a bit.