first attempt at conditional branch/PHI
cleanup names
improvements to parameter passing