updated to include purpose