resolved #3, resolved #4