changed self to call everywhere