requirements implemented