we'll want to use an enum (or the Go equivalent) for this