def create_admin(email, password, fname, lname):
    """
    Creates the first admin user
    Returns boolean to indicate if the account was created or not
    """
    if not password_check(password):
        return False
    else:
        hash_pwd = hashlib.sha256(('CoRRPassword_%s'%password).encode("ascii")).hexdigest()
        (account, created) = get_or_create(document=UserModel, created_at=str(datetime.datetime.utcnow()), email=email, group='admin', api_token=hashlib.sha256(('CoRRToken_%s_%s'%(email, str(datetime.datetime.utcnow()))).encode("ascii")).hexdigest())
        if created:
            account.password = hash_pwd
            account.save()
            (profile_model, created) = get_or_create(document=ProfileModel, created_at=str(datetime.datetime.utcnow()), user=account, fname=fname, lname=lname)
            if created:
                return True
            else:
                return False
        else:
            return False