.init() => .initialize()

Shouldn't have a member named .init

added put() overload - will use later

reordered fields for 0 offset instead of large offset