passing self twice