wrote ceveral methods