Also consider making it abstract h/t @mitchellwrosen
Also consider making it abstract
h/t @mitchellwrosen