added second part of paul's feature, compiled all