updates & added new functions