Yeah I think this is a better suggestion... it might not even make sense to abstract this