implement in general