Not sure if we can just do this by default in a base class because we repeat this pattern a handful of times (we can  also use different function if we want)