Seems OK, need a code cleaning ;)