using handler instead of raw lib