added some new methods and modified others
added some new methods and modified others