template madness
mess compile