generic customInit()