removed atUndef to reduce compiler errors, changed the order of class variables and initializers in constructors to match them