slightly generalized ll15. A little commenting