Added explicit id types. Need to figure out how to deal with ids from within grain