updated
added more functions