resolved #3 and resolved #10