imply base function