peanut framework