Adding lot of new functions