added some auth_spec, auth class refactored