Final version with big bugs...