updated requirements and to do