Criteria 1-16 implemented