move extension into Model proper. stop abusing travis