apns: designing interface