added 'this' keywords to make it more clear where functions originate from