No, le operazioni fatte sono lecite (almeno da come le hai descritte). Prova a copiare un po di codice molto probabilmente sbagli l'implementazione.