Added useful private insertOnRightSide and insertOnLeftSide methods, also editing constructor