added deferer usage and custom el functions