updated requirements, todos