cleaner and documentation code