add time
add errro handling