init random in core
EmailLocker to avoid duplicate email insertion

- this solution is not 100% correct, need if-not-exist.
generate uuid for user
fix error during run
remember to add global