code moved from prototype
pass pyflakes
pass pep8
declare private members