added new documentations and new functions