Added an implementation section