some impl methods