added passionate programmer take 2