added in use of _self instead of the reserved property name self