add methods. need testing