expand implementation section