check on proper use of self