add requirement and environment