ongoing work on implementing design patterns and firming up sort functionality