Updated
Added tests