this is a or for my learn.