added documentation and constants