Hand split into multiple files (prototype, static, constants)