add campaigns methods, add serialization