make it self evoking