move to a helper, no need to implement this again and again.