Not finished yet  (need to correct one problem, add encryption,
implements checks functions) but almost completed
Not tested