add implementation requirements