added back in analyze functions