Changes to make more generic