better encapsulation, tracking function context
changed runkit link to maintained repo