resolved #27, resolved #30