generic implements in to ways