add custom pre hook