+ made the constructors a bit random