rework subscription processing for consistancy