optimize persistence etc