Added many more functions