more typesafety