abstract the hadle function