better naming and documentation