playing around with self-apply