More abstract. Also readded appendix