satisfactory implementation