add better in-code documentation and more properties