resolved #2, #3