forgot to include a few definitions