extend self to expose it