cleanup
based on @vlakoff code review