Added implementation for 3 functions