re organization of the project and implementation of isOrdered