move remainder of post logic to common interface