another attempt to implement split-stage processing