cleaner and safer code