It might be good to have this be more polymorphic. If you wanna have a follow up PR that would be great.