changes to code design