section 5.3 functionality working