updated used constructor