remove printlns
cleanup
delayed mode
functional style