cmon' man! its almost meta-programming [yes I could change this easily]