private for self learn