share method with children class
implementation unfinished