model declaration moved out to lib/structs