Added implementation section