Updated designated initializer, added support for NSComparator