added implementor function