first pass, mostly just defining targets