updated to include class variables as objects