adding some impl code