added a quick sort impl