added serialization, refactored carve thread