theme now declares variables as local to avoid name clashing