new functions & fixes