started on implementation section