implemented like