add support for custom pre attribute