Added tests and some methdos