added private variables/functions