added BST spec, improved sorting implicits