begin of implementation