private variables were actually shared amongst instances, make everything use the instance for reference