replace $this with self (better readability)