enhance encrypt, etc